package com.hngates.architecture.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hngates.common.annotation.Excel;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author ywentao
 * @version 1.0.0
 * @className ProjectComplexInfoVO.java
 * @description 信息综合信息，用于导入数据
 * @createTime 2022年07月05日 06:36:00
 */
public class ProjectComplexInfoVO {

    /** 项目信息->项目编号 */
    @Excel(name = "编号")
    private String projectNo;

    /** 项目信息->项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 项目信息->项目状态 */
    @Excel(name = "项目状态")
    private String projectStatus;



    /** 建设单位->名称 */
    @Excel(name = "建设单位")
    private String builderCompanyName;

    /** 建设单位->负责人 */
    @Excel(name = "负责人(JS)")
    private String builderManagerName;

    /** 建设单位->负责人电话 */
    @Excel(name = "电话(JS)")
    private String builderManagerPhone;

    /** 建设单位->保函金额 */
    @Excel(name = "保函金额(JS)")
    private BigDecimal builderGuaranteeAmount;

    /** 建设单位->保函可用金额 */
    @Excel(name = "保函可用余额(JS)")
    private BigDecimal builderGuaranteeAmountFree;

    /** 建设单位->保函有效期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保函有效期(JS)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date builderGuaranteePeriod;


    /** 施工合同->合同金额 */
    @Excel(name = "合同金额(SH)")
    private BigDecimal builderContractAmount;

    /** 施工合同->支付方式 */
    @Excel(name = "支付方式(SH)")
    private String builderPayMethod;

    /** 施工合同->拖欠工程款金额 */
    @Excel(name = "拖欠工程款金额(SH)")
    private BigDecimal builderPaymentArrears;

    /** 施工合同->计划支付日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划支付日期(SH)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date builderPlanPayDate;

    /**
     * 施工合同->备注
     */
    @Excel(name="备注(SH)")
    private String builderRemarks;


    /** 施工单位名称 */
    @Excel(name = "单位名称")
    private String labourCompanyName;

    /** 施工单位->负责人 */
    @Excel(name = "负责人(SG)")
    private String labourManagerName;

    /** 施工单位->负责人电话 */
    @Excel(name = "电话(SG)")
    private String labourManagerPhone;

    /** 施工单位->籍贯 */
    @Excel(name = "籍贯(SG)")
    private String labourNativePlace;

    /** 施工单位->支付保函金额 */
    @Excel(name = "支付保函金额(SG)")
    private BigDecimal labourPaidGuaranteeAmount;

    /** 施工单位->保函可用余额 */
    @Excel(name = "保函可用余额(SG)")
    private BigDecimal labourGuaranteeAmountFree;

    /** 施工单位->保函有效期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保函有效期(SG)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date labourGuaranteePeriod;




    /** 劳务合同->合同金额(LH) */
    @Excel(name = "合同金额(LH)")
    private BigDecimal labourContractAmount;

    /** 劳务合同->支付方式(LH) */
    @Excel(name = "支付方式(LH)")
    private String labourPayMethod;

    /** 劳务合同->拖欠工程款金额(LH) */
    @Excel(name = "拖欠工程款金额(LH)")
    private BigDecimal labourPaymentArrears;

    /** 劳务合同->计划支付日期(LH) */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划支付日期(LH)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date labourPlanPayDate;

    /**
     * 劳务合同->备注
     */
    @Excel(name="备注(LH)")
    private String labourRemarks;



    /** 劳务分包单位->单位名称(FB) */
    @Excel(name = "单位名称(FB)")
    private String labourSubCompanyName;

    /** 劳务分包单位->工人组成(FB) */
    @Excel(name = "工人组成(FB)")
    private String labourSubWorkerCombin;

    /** 劳务分包单位->负责人(FB) */
    @Excel(name = "负责人(FB)")
    private String labourSubManagerName;

    /** 劳务分包单位->电话(FB) */
    @Excel(name = "电话(FB)")
    private String labourSubManagerPhone;

    /** 劳务分包单位->籍贯(FB) */
    @Excel(name = "籍贯(FB)")
    private String labourSubNativePlace;


    /** 劳务分包单位具体->拖欠工资金额 */
    @Excel(name = "拖欠工资金额")
    private String labourSubWagesArrearsAmount;

    /** 劳务分包单位具体->拖欠工种人数 */
    @Excel(name = "拖欠工种人数")
    private String labourSubWorkerNumberArrears;

    /** 劳务分包单位具体->工人主要来源 */
    @Excel(name = "工人主要来源")
    private String labourSubWorkerSource;

    /** 劳务分包单位具体->工人代表 */
    @Excel(name = "工人代表")
    private String labourSubRepresentWorker;

    /** 劳务分包单位具体->联系方式 */
    @Excel(name = "联系方式")
    private String labourSubRepresentPhone;

    public String getProjectNo() {
        return projectNo;
    }

    public ProjectComplexInfoVO setProjectNo(String projectNo) {
        this.projectNo = projectNo;
        return this;
    }

    public String getProjectName() {
        return projectName;
    }

    public ProjectComplexInfoVO setProjectName(String projectName) {
        this.projectName = projectName;
        return this;
    }

    public String getProjectStatus() {
        return projectStatus;
    }

    public ProjectComplexInfoVO setProjectStatus(String projectStatus) {
        this.projectStatus = projectStatus;
        return this;
    }

    public String getBuilderCompanyName() {
        return builderCompanyName;
    }

    public ProjectComplexInfoVO setBuilderCompanyName(String builderCompanyName) {
        this.builderCompanyName = builderCompanyName;
        return this;
    }

    public String getBuilderManagerName() {
        return builderManagerName;
    }

    public ProjectComplexInfoVO setBuilderManagerName(String builderManagerName) {
        this.builderManagerName = builderManagerName;
        return this;
    }

    public String getBuilderManagerPhone() {
        return builderManagerPhone;
    }

    public ProjectComplexInfoVO setBuilderManagerPhone(String builderManagerPhone) {
        this.builderManagerPhone = builderManagerPhone;
        return this;
    }

    public BigDecimal getBuilderGuaranteeAmount() {
        return builderGuaranteeAmount;
    }

    public ProjectComplexInfoVO setBuilderGuaranteeAmount(BigDecimal builderGuaranteeAmount) {
        this.builderGuaranteeAmount = builderGuaranteeAmount;
        return this;
    }

    public BigDecimal getBuilderGuaranteeAmountFree() {
        return builderGuaranteeAmountFree;
    }

    public ProjectComplexInfoVO setBuilderGuaranteeAmountFree(BigDecimal builderGuaranteeAmountFree) {
        this.builderGuaranteeAmountFree = builderGuaranteeAmountFree;
        return this;
    }

    public Date getBuilderGuaranteePeriod() {
        return builderGuaranteePeriod;
    }

    public ProjectComplexInfoVO setBuilderGuaranteePeriod(Date builderGuaranteePeriod) {
        this.builderGuaranteePeriod = builderGuaranteePeriod;
        return this;
    }

    public BigDecimal getBuilderContractAmount() {
        return builderContractAmount;
    }

    public ProjectComplexInfoVO setBuilderContractAmount(BigDecimal builderContractAmount) {
        this.builderContractAmount = builderContractAmount;
        return this;
    }

    public String getBuilderPayMethod() {
        return builderPayMethod;
    }

    public ProjectComplexInfoVO setBuilderPayMethod(String builderPayMethod) {
        this.builderPayMethod = builderPayMethod;
        return this;
    }

    public BigDecimal getBuilderPaymentArrears() {
        return builderPaymentArrears;
    }

    public ProjectComplexInfoVO setBuilderPaymentArrears(BigDecimal builderPaymentArrears) {
        this.builderPaymentArrears = builderPaymentArrears;
        return this;
    }

    public Date getBuilderPlanPayDate() {
        return builderPlanPayDate;
    }

    public ProjectComplexInfoVO setBuilderPlanPayDate(Date builderPlanPayDate) {
        this.builderPlanPayDate = builderPlanPayDate;
        return this;
    }

    public String getLabourCompanyName() {
        return labourCompanyName;
    }

    public ProjectComplexInfoVO setLabourCompanyName(String labourCompanyName) {
        this.labourCompanyName = labourCompanyName;
        return this;
    }

    public String getLabourManagerName() {
        return labourManagerName;
    }

    public ProjectComplexInfoVO setLabourManagerName(String labourManagerName) {
        this.labourManagerName = labourManagerName;
        return this;
    }

    public String getLabourManagerPhone() {
        return labourManagerPhone;
    }

    public ProjectComplexInfoVO setLabourManagerPhone(String labourManagerPhone) {
        this.labourManagerPhone = labourManagerPhone;
        return this;
    }

    public String getLabourNativePlace() {
        return labourNativePlace;
    }

    public ProjectComplexInfoVO setLabourNativePlace(String labourNativePlace) {
        this.labourNativePlace = labourNativePlace;
        return this;
    }

    public BigDecimal getLabourPaidGuaranteeAmount() {
        return labourPaidGuaranteeAmount;
    }

    public ProjectComplexInfoVO setLabourPaidGuaranteeAmount(BigDecimal labourPaidGuaranteeAmount) {
        this.labourPaidGuaranteeAmount = labourPaidGuaranteeAmount;
        return this;
    }

    public BigDecimal getLabourGuaranteeAmountFree() {
        return labourGuaranteeAmountFree;
    }

    public ProjectComplexInfoVO setLabourGuaranteeAmountFree(BigDecimal labourGuaranteeAmountFree) {
        this.labourGuaranteeAmountFree = labourGuaranteeAmountFree;
        return this;
    }

    public Date getLabourGuaranteePeriod() {
        return labourGuaranteePeriod;
    }

    public ProjectComplexInfoVO setLabourGuaranteePeriod(Date labourGuaranteePeriod) {
        this.labourGuaranteePeriod = labourGuaranteePeriod;
        return this;
    }

    public BigDecimal getLabourContractAmount() {
        return labourContractAmount;
    }

    public ProjectComplexInfoVO setLabourContractAmount(BigDecimal labourContractAmount) {
        this.labourContractAmount = labourContractAmount;
        return this;
    }

    public String getLabourPayMethod() {
        return labourPayMethod;
    }

    public ProjectComplexInfoVO setLabourPayMethod(String labourPayMethod) {
        this.labourPayMethod = labourPayMethod;
        return this;
    }

    public BigDecimal getLabourPaymentArrears() {
        return labourPaymentArrears;
    }

    public ProjectComplexInfoVO setLabourPaymentArrears(BigDecimal labourPaymentArrears) {
        this.labourPaymentArrears = labourPaymentArrears;
        return this;
    }

    public Date getLabourPlanPayDate() {
        return labourPlanPayDate;
    }

    public ProjectComplexInfoVO setLabourPlanPayDate(Date labourPlanPayDate) {
        this.labourPlanPayDate = labourPlanPayDate;
        return this;
    }

    public String getLabourSubCompanyName() {
        return labourSubCompanyName;
    }

    public ProjectComplexInfoVO setLabourSubCompanyName(String labourSubCompanyName) {
        this.labourSubCompanyName = labourSubCompanyName;
        return this;
    }

    public String getLabourSubWorkerCombin() {
        return labourSubWorkerCombin;
    }

    public ProjectComplexInfoVO setLabourSubWorkerCombin(String labourSubWorkerCombin) {
        this.labourSubWorkerCombin = labourSubWorkerCombin;
        return this;
    }

    public String getLabourSubManagerName() {
        return labourSubManagerName;
    }

    public ProjectComplexInfoVO setLabourSubManagerName(String labourSubManagerName) {
        this.labourSubManagerName = labourSubManagerName;
        return this;
    }

    public String getLabourSubManagerPhone() {
        return labourSubManagerPhone;
    }

    public ProjectComplexInfoVO setLabourSubManagerPhone(String labourSubManagerPhone) {
        this.labourSubManagerPhone = labourSubManagerPhone;
        return this;
    }

    public String getLabourSubNativePlace() {
        return labourSubNativePlace;
    }

    public ProjectComplexInfoVO setLabourSubNativePlace(String labourSubNativePlace) {
        this.labourSubNativePlace = labourSubNativePlace;
        return this;
    }

    public String getLabourSubWagesArrearsAmount() {
        return labourSubWagesArrearsAmount;
    }

    public ProjectComplexInfoVO setLabourSubWagesArrearsAmount(String labourSubWagesArrearsAmount) {
        this.labourSubWagesArrearsAmount = labourSubWagesArrearsAmount;
        return this;
    }

    public String getLabourSubWorkerNumberArrears() {
        return labourSubWorkerNumberArrears;
    }

    public ProjectComplexInfoVO setLabourSubWorkerNumberArrears(String labourSubWorkerNumberArrears) {
        this.labourSubWorkerNumberArrears = labourSubWorkerNumberArrears;
        return this;
    }

    public String getLabourSubWorkerSource() {
        return labourSubWorkerSource;
    }

    public ProjectComplexInfoVO setLabourSubWorkerSource(String labourSubWorkerSource) {
        this.labourSubWorkerSource = labourSubWorkerSource;
        return this;
    }

    public String getLabourSubRepresentWorker() {
        return labourSubRepresentWorker;
    }

    public ProjectComplexInfoVO setLabourSubRepresentWorker(String labourSubRepresentWorker) {
        this.labourSubRepresentWorker = labourSubRepresentWorker;
        return this;
    }

    public String getLabourSubRepresentPhone() {
        return labourSubRepresentPhone;
    }

    public ProjectComplexInfoVO setLabourSubRepresentPhone(String labourSubRepresentPhone) {
        this.labourSubRepresentPhone = labourSubRepresentPhone;
        return this;
    }

    public String getBuilderRemarks() {
        return builderRemarks;
    }

    public ProjectComplexInfoVO setBuilderRemarks(String builderRemarks) {
        this.builderRemarks = builderRemarks;
        return this;
    }

    public String getLabourRemarks() {
        return labourRemarks;
    }

    public ProjectComplexInfoVO setLabourRemarks(String labourRemarks) {
        this.labourRemarks = labourRemarks;
        return this;
    }
}
